作者:kas8288408 | 来源:互联网 | 2023-08-12 12:28
篇首语:本文由编程笔记#小编为大家整理,主要介绍了paddleConv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?相关的知识,希望对你有一定的参考价
篇首语:本文由编程笔记#小编为大家整理,主要介绍了paddle Conv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?相关的知识,希望对你有一定的参考价值。
目录
[paddle Conv2D(num_channels=20, num_filters=20](#paddle%20Conv2D(num_channels%3D20%2C%C2%A0num_filters%3D20)
在手撕数字识别案例中
卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?
paddle Conv2D(num_channels=20, num_filters=20
模型组网-使用文档-PaddlePaddle深度学习平台
学会看paddle 的文档解说:
(二维卷积层)主要用于对输入的特征图进行卷积操作,广泛用于深度学习网络中。Conv2D 根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)等参数计算输出特征层大小。输入和输出是 NCHW 或 NHWC 格式,其中 N 是 batchsize 大小,C 是通道数,H 是特征高度,W 是特征宽度。
一般就是输入通道和设置的输出通道数;
num_channels:输入通道
num_filters:滤波器就是卷积核。输出的图像就是通道乘以filter个数;
在手撕数字识别案例中
原来是7720=980,
输入1通道,输出40,2828的图像池化2次,池化:22的最后是7*7的图像;
有的输入通道是3,就是RGB
7740=1960 就是最后的参数,学习率是0.01 这样做效果好一点;
效果:
卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?
下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了?
在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。
卷积核 1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。
每一层卷积有多少channel数,以及一共有多少层卷积,这些暂时没有理论支撑,一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。这也是现在深度卷积神经网络虽然效果拔群,但是一直为人诟病的原因之一。
多说几句,每一层卷积的channel数和网络的总卷积层数,构成了一个巨大的超参集合,这个超参集合里的最优组合,很可能比目前业界各种fancy的结构还要高效。只是我们一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是啥。